In modern database systems, users may be able to define a formula that specifies how to compute a new field from other fields. For example, a discount price formula field might be computed from a base price field and a discount percent field. Traditionally, this approach has worked well with conventional databases, in which formulas can be efficiently evaluated since most relevant data is relatively concentrated and because the sizes of the databases are relatively small.
However, as database systems become larger and store many objects, the data stored in the database may become quite dispersed. Thus, the implementation of formulas in a large database can demand much more computing resources to retrieve such dispersed data. Also, formulas may be unnecessarily evaluated or evaluated in an untimely fashion, leading to inefficiency and waste of computing resources. In database systems in which one or more customers may share the various elements of hardware and software of the database system, these problems become compounded as individuals' demand on the system may cause further dispersion or fractionalization of data distribution throughout the database.
Therefore, it is desirable to provide methods and systems for efficient and versatile implementation of formulas in databases.